草庐IT

python - 示例

全部标签

python - 解析非标准 XML(CDATA 标记)

当我想使用BeautifulSoup库在Python中解析XML文档时,我遇到了一些问题。我要解析的XML文档:2011-10-1009:00:002011-10-1709:00:003500020000正如你在上面看到的,标签有点奇怪。在我看来,that(tag)不是标准的XML形式,对吧?我该如何解析这种糟糕的形式? 最佳答案 您不需要BeautifulStoneSoup或lxml。Python自带的电池可以很好地完成这项工作,而且您的XML似乎没有任何不合规之处。>>>content='''\............2011-

python - 从 ElementTree 获取更好的解析错误信息

如果我尝试解析损坏的XML,异常会显示行号。有没有办法显示XML上下文?我想查看损坏部分前后的xml标记。例子:importxml.etree.ElementTreeasETtree=ET.fromstring('')异常(exception):Traceback(mostrecentcalllast):File"tmp/foo.py",line2,intree=ET.fromstring('')File"/usr/lib/python2.7/xml/etree/ElementTree.py",line1300,inXMLparser.feed(text)File"/usr/lib/p

xml 中的 xml 示例/应用程序设置

谁能帮助我学习如何使用XML。作为测试,我想使用XML而不是INI文件来保存程序设置。谢谢 最佳答案 Rigo,你可以使用IXMLDocument接口(interface)或TXMLDocument对象与XML文档进行交互。您可以查看这些链接以获取有关XML和Delphi的更多信息Creating,ParsingandManipulatingXMLDocumentswithDelphiXmlSerialization-BasicUsage(Delphi2010)PracticalXMLinDelphi(来自@Jeroen)查看此示例

python - 使用 xml.etree.ElementTree 获取子节点的所有实例

我有以下XML文件作为输入:0115555555777770112222222100我想输出dialledDigits的所有值。但是,我的代码只显示dialledDigits的第一个实例。dialledDigits{}5555555我想要的输出应该包含这两个实例。dialledDigits{}5555555dialledDigits{}2222222这是我的代码importxml.etree.ElementTreeasETtree=ET.parse('as.xml')root=tree.getroot()callevent=root.find('callEvents')Moc1=cal

python - 'NoneType' 类型的参数不可迭代

我正在尝试打开一个目录,该目录包含一个特定目录中的一系列XML。在下面的代码中,我遍历了每个XML文档,并设置了一些“if语句”来读取XML中的文本,查找关键字并替换它们,然后将新文件写入新位置。运行脚本时出现以下错误:Tracebackinfo:File"Z:\ESRI\Python\TestScripts\ElementTree6.py",line62,inif"%begdate%"inelement.text:...错误信息:argumentoftype'NoneType'isnotiterable我已将目录硬编码为一个特定的XML,当我运行if语句时,它们工作正常。当我尝试设置

用于编辑保留格式和注释的 XML 的 Python 库

我需要对现有的XML文件进行一些更改,同时保留格式和注释-除了我所做的微小更改之外的所有内容都应该保持不变。我试过xml.etree和lxml.etree但没有成功。XML是由我的IDE生成的,但它的编辑器缺乏功能,因此我必须进行一些手动更改。我想保留格式,这样差异就很漂亮,不会污染我的历史记录。有了众多的pythonXML库,我想我会在这里问问是否有人做过类似的事情。 最佳答案 考虑XSLT,专门用于转换XML文件的语言。具体来说,通过其身份转换,您可以按原样保留XML,并以最小的更改调整或删除文本节点。Python的lxml可以

python - 使用 lxml 生成 XHTML 文档的推荐方法

Python库lxml似乎提供了几个用于生成HTML文档的构建器。它们之间有什么区别?但是这些生成纯HTML,而不是XHTML。虽然我可以手动添加xmlns声明,但这并不优雅。那么使用lxml生成XHTML文档的推荐方法是什么?lxml.builder.E示例来自http://lxml.de/tutorial.html#the-e-factory:>>>fromlxml.builderimportE>>>defCLASS(*args):#classisareservedwordinPython...return{"class":''.join(args)}>>>html=page=(.

javascript - 如何为 WebGL 正确解析 collada 文件? (包括示例)

这是我目前的结果:如您所见,这些模型中存在很多漏洞。我的猜测,为什么会发生这种情况,我需要以某种方式包括中的数据元素,它应该确定每个平面的顶点数(?)。由于WebGL只能绘制3边的多边形,这似乎行不通。如果到目前为止我的假设是正确的,我需要将所有四边形分别切成两个三Angular形。我已经对使用WebGL进行的collada解析进行了大量研究,但几乎每个站点都将我重定向到几个已经实现了此类功能的WebGL库(所以请不要这样做)。我总是从自己编写所有核心功能开始,以便更好地了解内部工作原理。这是我的解析函数:functionload_collada(gl,program,path){va

python - 为什么python XML解析速度不一致?

我正在解析一个大的(12GB)XML文件,该文件由大约135k或多或少的相似记录组成(这是一个nmap转储)。我注意到解析速度不一致,解析相似记录的时间变化很大。以下按比例缩小的代码输出解析每1%的记录所需的时间:fromxml.etree.ElementTreeimportiterparseimporttimenrhosts=0previous=time.time()context=iterparse("test.xml",events=("start","end"))context=iter(context)event,root=context.next()forevent,ele

python - 使用 lxml 将输出格式化为 XML

我的程序主要是读取一个输入文件,从该文件生成一个lxml.etree,例如,我向etree添加一个节点,然后我想将它打印回一个文件。所以要将它写回我使用的文件:et.write('Documents\Write.xml',pretty_print=True)我得到的输出是:four虽然我想要这样的东西:four我错在哪里了?我尝试了很多解决方案,但似乎都没有用(beautifulsoup、tidy、解析器...) 最佳答案 不要使用标准解析器。使用带有remove_blank_text=True的自定义解析器。parser=etre